访问电脑版页面

导航:老古开发网手机版STM32单片机STM32单片机的GPIO

STM32学习笔记1 IO口学习

导读:STM32的IO口可以由软件配置成8种模式:1,输入浮空2,输入上拉3,输入下拉4,模拟输入5,开漏输出6,推挽输出7,推挽复用功能8,开漏复用功能每个IO口可以自由编程,单IO口寄存器必须要按32位字被访问。这里就是寄存
关键字:
io口,STM32,

STM32的IO口可以由软件配置成8种模式:

1,输入浮空

2,输入上拉

3,输入下拉

4,模拟输入

5,开漏输出

6,推挽输出

7,推挽复用功能

8,开漏复用功能

每个IO口可以自由编程,单IO口寄存器必须要按32位字被访问。

这里就是寄存器不能位操作咯

STM32的每个IO端口都有7个寄存器来控制。他们分别是:配置模式的2个32位的端口配置寄存器CRL和CRH;2个32位的数据寄存器IDR和ODR;1个32位的置位/复位寄存器BSRR;一个16位的复位寄存器BRR;1个32位的锁存寄存器LCKR;这里我们仅介绍常用 的几个寄存器,我们常用的IO端口寄存器只有4个:CRL、CRH、IDR、ODR。

STM32的CRL控制着每个IO端口(A~G)的低8位的模式。每个IO端口的位占用CRL的4个位,高两位为CNF,低两位为MODE。这里我们可以记住几个常用的配置,比如0X4表示模拟输入模式(ADC用)、0X3表示推挽输出模式(做输出口用,50M速率)、0X8表示上/下拉输入模式(做输入口用)、0XB表示复用输出(使用IO口的第二功能,50M速率)。

CRH的作用和CRL完全一样,只是CRL控制的是低8位输出口,而CRH控制的是高8位输出口。

IDR是一个端口输入数据寄存器,只用了低16位。该寄存器为只读寄存器,并且只能以16位的形式读出。读出的值为对应IO口的状态。

ODR是一个端口输出数据寄存器,也只用了低16位。该寄存器虽然为可读写,但是从该寄存器读出来的数据都是0。只有写是有效的。其作用就是控制端口的输出。

在配置STM32外设的时候,任何时候都要先使能该外设的时钟!APB2ENR是APB2总线上的外设时钟使能寄存器


来源:互联网   作者:karen  2019/1/16 11:20:01
栏目: [ STM32单片机的GPIO]

相关阅读

STM32单片机的GPIO模式解析

一文看懂stm32的引脚的两种用途:GPIO和AFIO

stm32单片机GPIO端口的特点及应用解析

STM32单片机的八种IO口模式解析

如何将STM32单片机的PA15设置为上拉输入模式

如何将STM32单片机的JTAG口作为GPIO使用

STM32学习笔记1 IO口学习

STM32单片机的上拉电阻配置为上拉输入模式的方法

STM32单片机对共阳数码管输出计数的设计

stm32的IO模式具体意义

基于STM32单片机流水灯控制中的GPIO_Init()函数解析

STM32单片机GPIO口的工作模式解析

STM32单片机GPIO寄存器的功能解析

stm32 IO口模式的寄存器配置

基于STM32单片机对跑马灯的控制

基于单片机STM32 GPIO 基本简单操作函数教程

STM32单片机的重映射与地址映射的使用方法及步骤

STM32单片机的复用端口初始化的步骤及方法

关于STM32中的位带(bit-band)操作说明

基于STM32的八种GPIO输入输出模式解析